﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using _1.Presentacion.Principal;
using _1.Presentacion.Properties;
using _1.Presentacion.Utilidades;
using _2.Logica.Inventario;
using _4.Modelado.Inventario;

namespace _1.Presentacion.Modulo_Inventario
{
    public partial class Busca_Articulos : Päntalla_Base
    {
        public Busca_Articulos()
        {
            InitializeComponent();
        }

        public int FkBodega = 0;
             
        private void Busca_Articulos_Load(object sender, EventArgs e)
        {
             try
            {
                Carga_ArticulosActivos();
            }
            catch
            {
                MessageBox.Show(Resources.MensajeErrorSistema);
            }
        }

     

         private Ajuste_Inventario inventario;



         public Busca_Articulos(Ajuste_Inventario xInventario)
        {
            inventario = xInventario;
        
            InitializeComponent();
        }

     
     

        private void Carga_ArticulosActivos()
        {
            try
            {
                var logica = new ArticuloL();


                List<Articulo> listaArticulo = logica.Articulos_ActivosPorBodegaConsultar(FkBodega);
                //Recorre la lista de Usuarios para asignar a cada celda del Datagrid
                //Los valores devueltos por la consulta
                dgvArticulo.Rows.Clear();
                for (int i = 0; i < listaArticulo.Count; i++)
                {

                    dgvArticulo.Rows.Add();
                    dgvArticulo.Rows[i].Cells[0].Value = listaArticulo[i].iPK_Articulo;
                    dgvArticulo.Rows[i].Cells[1].Value = listaArticulo[i].sArticuloNombre;
                    dgvArticulo.Rows[i].Cells[2].Value = listaArticulo[i].dArticuloCosto;
                    dgvArticulo.Rows[i].Cells[3].Value = listaArticulo[i].bArticuloEstado;
                    dgvArticulo.Rows[i].Cells[4].Value = listaArticulo[i].iFK_Linea_Articulo;
                    dgvArticulo.Rows[i].Cells[5].Value = listaArticulo[i].iFK_UMedida_Articulo;
                    dgvArticulo.Rows[i].Cells[6].Value = listaArticulo[i].dArticuloExistencia_Global;


                }
            }
            catch (Exception exc)
            {

                MessageBox.Show("Eror al cargar información " + exc, "Error", MessageBoxButtons.OKCancel);
            }


        }

        private void dgvArticulo_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        { try
            {

                int indicefila = dgvArticulo.SelectedCells[0].RowIndex;

                if (indicefila < 0) return;

                var pk = Convert.ToInt32(dgvArticulo.Rows[indicefila].Cells["PK_Articulo"].Value.ToString());
                var nombre = dgvArticulo.Rows[indicefila].Cells["ArticuloNombre"].Value.ToString();
                var existencia = Convert.ToDecimal(dgvArticulo.Rows[indicefila].Cells["ArticuloExistencia_Global"].Value.ToString());

                inventario.PresentaArticulo(pk, nombre, existencia);
               
                Validaciones.CerrarFormulario(this);
            }
            catch
            {
                MessageBox.Show(Resources.MensajeErrorSistema);
            }

        }
    }
}
